home *** CD-ROM | disk | FTP | other *** search
/ Spanish Scene 1 / SpanishScene1.iso / spanish pack n°1 by llfb / --llfb-- / programas / sources1.dms / sources1.adf / SOURCES / Efectos_Copper / Plasma2.ASM < prev    next >
Assembly Source File  |  1996-06-04  |  6KB  |  226 lines

  1. ;  COLORMAGIC  BY LADO OF FI-RE CREW 1992.
  2.  
  3. ;    org     $30000
  4. ;    load     $30000
  5.  
  6.  
  7.     Section    Roman,code_c
  8.  
  9.     
  10. j    bsr inic
  11.     lea $dff000,a6            ;inicializalas
  12.     move.w #$7fff,$96(a6)
  13.     move.w #$7fff,$9a(a6)
  14.     move.l #copper,$84(a6)
  15.     clr.w $8a(a6)             ;start copper
  16.     move.w #$87c0,$96(a6)
  17.     move.w #$c010,$9a(a6)
  18.     bsr clrscr                ;clear screen     
  19. wait    move.l 4(a6),d2           ;var amig a raszter lefut
  20.     and.l #$1ff00,d2
  21.     bne wait
  22.     tst.w oke                 ;kell epiteni a kepernyot ?
  23.     bne yeah
  24.     bsr epit                  ;epito
  25. yeah    bsr cscroll               ;copper szingorgetes
  26.     btst #6,$bfe001           ;bal eger
  27.     bne wait
  28. k1    btst #$e,2(a6)            ;waitblitter
  29.     bne k1
  30.     clr.w $88(a6)             ;END
  31.     move.w #$7fff,$9a(a6)
  32.     move.w #$7fff,$96(a6)
  33.     move.w #$87f0,$96(a6)
  34.     move.w #$e02c,$9a(a6)
  35.     moveq #0,d0
  36.     rts
  37.  
  38. inic    lea datas(pc),a0          ;szerkeszto adatok
  39.     lea tar(pc),a1            ;workplace
  40.     moveq #6,d7
  41. k2    move.w (a0)+,(a1)+
  42.     dbf d7,k2
  43.     move.w (a0)+,tar+14
  44.     move.w #$226,tar+16
  45.     move.w #0,tar+18
  46.     move.w #0,tar+20
  47.     move.w #0,tar+22
  48.     move.w #$200,tar+24
  49.     move.w #$100,tar+26
  50.     move.w #0,tar+28
  51.     move.w #0,tar+30
  52.     lea colors(pc),a1         ;szinregiszterek feltoltese a copperban
  53.     lea colcop(pc),a0
  54.     move.w #$1f,d7
  55. k3    move.w (a1)+,2(a0)
  56.     addq.w #4,a0
  57.     dbf d7,k3
  58.     rts
  59.     
  60. clrscr    lea erno(pc),a1             ;kepernyotorles
  61.     moveq #4,d7
  62. wai    btst #$e,2(a6)
  63.     bne wai
  64.     clr.l $44(a6)
  65.     clr.l $64(a6)
  66.     move.l #$01000000,$40(a6)
  67.     move.l (a1)+,$54(a6)
  68.     move.w #$3c16,$58(a6)
  69.     dbf d7,wai
  70.     rts        
  71.  
  72. cscroll    lea cop2(pc),a0          ;szinek gorgetese a copperban
  73.     move.w 4(a0),d0
  74.     move.w #$1e,d7
  75. k5    move.w (a0),4(a0)
  76.     subq.w #4,a0
  77.     dbf d7,k5
  78.     move.w d0,4(a0)
  79.     rts
  80.     
  81. epit    move.l a6,-(a7)
  82.     lea tabla(pc),a6           ;adatok
  83.     move.w tar,d0
  84.     move.w tar+2,d1
  85.     move.w tar+4,d2
  86.     
  87.     add.w d0,tar+24
  88.     and.w #$3ff,tar+24
  89.     move.w tar+24,d3
  90.     move.w (a6,d3.w),d7
  91.     
  92.     add.w d1,tar+26
  93.     and.w #$3ff,tar+26
  94.     move.w tar+26,d3
  95.     add.w (a6,d3.w),d7
  96.     
  97.     add.w d2,tar+28
  98.     and.w #$3ff,tar+28
  99.     move.w tar+28,d3
  100.     add.w (a6,d3.w),d7
  101.     
  102.     lea reply(pc),a0
  103.     move.l erno(pc),a1
  104.     move.l erno+4(pc),a2
  105.     move.l erno+8(pc),a3
  106.     move.l erno+12(pc),a4
  107.     move.l erno+16(pc),a5
  108.     move.w #$160,d0
  109.     move.w tar+6,d4
  110.     move.w tar+8,d5
  111.     add.w d4,tar+20
  112.     move.w tar+20,d2
  113.     and.w #$3ff,tar+20
  114.     add.w d5,tar+22
  115.     move.w tar+22,d3
  116.     and.w #$3ff,tar+22
  117.     add.w #$2c,tar+18
  118.     cmp.w #$2c00,tar+18
  119.     blt k6
  120.     move.w #1,oke
  121.     bra return
  122. k6    move.w d0,d4
  123.     move.w d0,d1
  124.     add.w d7,d1
  125.     add.w (a6,d2.w),d1
  126.     add.w tar+10,d2
  127.     and.w #$3ff,d2
  128.     add.w (a6,d3.w),d1
  129.     add.w tar+12,d3
  130.     and.w #$3ff,d3
  131.     move.b (a0,d4.w),d6
  132.     asr.w #3,d4
  133.     add.w tar+18,d4
  134.     move.w tar+14,d5
  135.     asr.w d5,d1
  136.     ror.w #1,d1
  137.     bcc l1
  138.     or.b d6,(a1,d4.w)
  139. l1    ror.w #1,d1
  140.     bcc l2
  141.     or.b d6,(a2,d4.w)
  142. l2    ror.w #1,d1
  143.     bcc l3
  144.     or.b d6,(a3,d4.w)
  145. l3    ror.w #1,d1
  146.     bcc l4
  147.     or.b d6,(a4,d4.w)
  148. l4    ror.w #1,d1
  149.     bcc l5
  150.     or.b d6,(a5,d4.w)
  151. l5     dbf d0,k6
  152. return    move.l (a7)+,a6
  153.     rts
  154.  
  155.  
  156. copper    dc.w $100,$200,$8e,$2c10,$90,$3cf0,$92,$30,$94,$d8
  157.     dc.w $120,0,$122,0,$124,0,$126,0,$128,0,$12a,0,$12c,0,$12e,0
  158.     dc.w $130,0,$132,0,$134,0,$136,0,$138,0,$13a,0,$13c,0,$13e,0
  159.     dc.w $108,0,$10a,0,$180,0,$3001,$fffe
  160.     dc.w $e0,4,$e2,0,$e4,4,$e6,$2c00,$e8,4,$ea,$5800
  161.     dc.w $ec,4,$ee,$8400,$f0,4,$f2,$b000,$3201,$fffe,$100,$5200
  162. colcop    dc.w $182,0,$184,0,$186,0,$188,0,$18a,0,$18c,0,$18e,0,$190,0
  163.     dc.w $192,0,$194,0,$196,0,$198,0,$19a,0,$19c,0,$19e,0,$1a0,0
  164.     dc.w $1a2,0,$1a4,0,$1a6,0,$1a8,0,$1aa,0,$1ac,0,$1ae,0,$1b0,0
  165.     dc.w $1b2,0,$1b4,0,$1b6,0,$1b8,0,$1ba,0,$1bc,0,$1be
  166. cop2    dc.w 0,$180,0
  167.     dc.w $ffdf,$fffe,$2001,$fffe,$100,$200,$180,0,$ffff,$fffe
  168.  
  169.     
  170. erno    dc.l $40000,$42c00,$45800,$48400,$4b000    
  171. datas    dc.w 2,4,0,-2,10,4,8,0
  172.     
  173.     ;tovabbi adatok -->mas kepernyo !!!!
  174.     
  175.     dc.w 4,6,-8,12,6,-8,6,0        ;csak a szamokat kell valtoztatni
  176.     dc.w 4,2,2,2,8,16,14,1         ;es mas effektet kaphatsz !!!
  177.     dc.w 8,0,0,6,0,10,0,1
  178.     dc.w 4,12,6,-8,6,4,-4,1
  179.     dc.w 2,8,-4,2,8,0,-8,0
  180.     dc.w 0,0,2,-4,0,0,8,1
  181.  
  182.     
  183.     ;    ------> kek <------
  184. colors    dc.w 0,1,2,3,4,5,6,7,8,9,$a,$b,$c,$d,$e,$f,$f,$e,$d,$c,$b,$a
  185.     dc.w 9,8,7,6,5,4,3,2,1,0
  186.     ;    ------> lila <-----
  187.     dc.w 0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$a0a,$b0b
  188.     dc.w $c0c,$d0d,$e0e,$f0f,$f0f,$e0e,$d0d,$c0c,$b0b,$a0a,$909
  189.     dc.w $808,$707,$606,$505,$404,$303,$202,$101,0
  190.     ;    ------> piros <-----
  191.     dc.w 0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$a00,$b00
  192.     dc.w $c00,$d00,$e00,$f00,$f00,$e00,$d00,$c00,$b00,$a00,$900
  193.     dc.w $800,$700,$600,$500,$400,$300,$200,$100,0
  194.     ;    ------> zold <-----
  195.     dc.w 0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$a0,$b0,$c0,$d0,$e0,$f0
  196.     dc.w $f0,$e0,$d0,$c0,$b0,$a0,$90,$80,$70,$60,$50,$40,$30,$20,$10,0
  197.  
  198. tar    dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  199. oke    dc.w 0
  200. reply    dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  201.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  202.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  203.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  204.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  205.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  206.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  207.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  208.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  209.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  210.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  211.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  212.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  213.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  214.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  215.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  216.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  217.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  218.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  219.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  220.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  221.     dc.w $8040,$2010,$804,$201,$8040,$2010,$804,$201
  222.  
  223. tabla    incbin     'Coleccion_Sources1:Sources/Efectos_Copper/plasma2.DAT'
  224.     blk.b 17256,0
  225.  
  226.